/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.27238, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.47489, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.50004, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.39651, 0.38309 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.20679, 0.37905 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.97034, 0.37567 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.72465, 0.37284 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.50312, 0.37046 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.32997, 0.36844 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.21386, 0.36672 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.14237, 0.36525 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.07927, 0.36401 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96527, 0.36301 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72233, 0.36231 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.26065, 0.362 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.48772, 0.36218 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.31847, 0.36302 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.68556, 0.36466 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.54898, 0.36725 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.90424, 0.37093 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.78839, 0.37577 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.28297, 0.38183 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.51181, 0.38911 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.63169, 0.39759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.81529, 0.40728 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.77158, 0.41818 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.99331, 0.43029 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.76284, 0.44356 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.05117, 0.45784 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.88735, 0.47278 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.35082, 0.48784 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.55973, 0.50222 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.6585, 0.51494 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.80567, 0.52488 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.16024, 0.53095 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.8629, 0.53233 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.01249, 0.52867 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.64431, 0.52024 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.72078, 0.50788 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.14075, 0.49285 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.76431, 0.4766 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.44226, 0.46046 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.03914, 0.44553 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.44452, 0.43256 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.57388, 0.422 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.36348, 0.41408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.76357, 0.40887 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.73239, 0.40635 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.23136, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.22076, 0.40944 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.65454, 0.41517 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.47372, 0.42394 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.59879, 0.43606 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92341, 0.45185 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.31405, 0.47158 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.6221, 0.49507 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.71741, 0.52132 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.54932, 0.54798 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.22667, 0.57124 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.07532, 0.58665 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.6085, 0.59104 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.39082, 0.58407 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.12501, 0.56817 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.68263, 0.547 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.20577, 0.52386 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.73404, 0.5011 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.36259, 0.48 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.2041, 0.46118 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.37075, 0.4448 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.96795, 0.43077 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.09297, 0.4189 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.83466, 0.40894 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.27238, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.347, 0.37411 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.65623, 0.37024 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.79712, 0.367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.80929, 0.36431 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.72567, 0.36209 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.5774, 0.36028 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.39765, 0.35884 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.22164, 0.35772 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.08209, 0.35692 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.00182, 0.3564 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.9862, 0.35615 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.01726, 0.35618 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05044, 0.35647 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.01396, 0.35705 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.81156, 0.35798 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.32966, 0.35934 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.44943, 0.36128 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.06276, 0.36397 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.08958, 0.36762 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.49377, 0.37239 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.29604, 0.3784 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.58198, 0.3857 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.50218, 0.39425 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.2601, 0.404 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.91416, 0.41495 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.80015, 0.42715 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.22289, 0.44074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.07742, 0.45585 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.336, 0.47253 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.03908, 0.49066 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.27626, 0.50985 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.16602, 0.52941 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.8433, 0.54823 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.45864, 0.56475 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.18246, 0.57706 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.19935, 0.58325 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.67874, 0.58196 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.72711, 0.5729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.3474, 0.55701 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.43342, 0.53625 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.80389, 0.51306 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.25489, 0.48978 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.60286, 0.46824 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.70435, 0.44963 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.45522, 0.43454 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.77993, 0.42311 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.61993, 0.41525 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.92544, 0.41074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.65071, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.75089, 0.41071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.17857, 0.41469 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.87976, 0.42104 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.79208, 0.42948 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.85173, 0.4396 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.01577, 0.45065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.30086, 0.46146 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.82448, 0.47052 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.81916, 0.47638 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.59391, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.45431, 0.4759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.63039, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.25322, 0.46262 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.62355, 0.45352 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.98787, 0.44377 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.84322, 0.43382 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.19749, 0.42401 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.06122, 0.41461 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.44915, 0.4058 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.3828, 0.39773 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.89305, 0.39051 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.02179, 0.38418 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.82076, 0.37873 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.347, 0.37411 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.544, 0.35468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.88907, 0.35264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.08497, 0.351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.16513, 0.34969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.1523, 0.34866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.0651, 0.34788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.92546, 0.34735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.76192, 0.34707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.60713, 0.34705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.49121, 0.34731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.4339, 0.34787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43745, 0.34875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47988, 0.34996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.50839, 0.3515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.43454, 0.35337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.13541, 0.35564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.46478, 0.35842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.27442, 0.3619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.44083, 0.36631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.89165, 0.37184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.62754, 0.37864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.73693, 0.38669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.39878, 0.39591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.1338, 0.40617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.57289, 0.41744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.64977, 0.42983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.16491, 0.44364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.01608, 0.45917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19831, 0.47668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.78022, 0.49629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.86781, 0.51791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.57037, 0.54123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.98427, 0.56545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.20444, 0.58906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.358, 0.60962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.63366, 0.62397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.27008, 0.62904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.48613, 0.62301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.38617, 0.60619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.90757, 0.58098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.84834, 0.55104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.94803, 0.5201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.96442, 0.49116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.7108, 0.46609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.05615, 0.44571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.90871, 0.43014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.19982, 0.41907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.87461, 0.41198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.88902, 0.40827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.20914, 0.40735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.80968, 0.40861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.67179, 0.41145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.78579, 0.41519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.16719, 0.41907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.88768, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.10577, 0.42363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.06597, 0.42288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.04661, 0.41994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.27841, 0.41537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.88669, 0.40998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.89003, 0.40444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.75734, 0.39913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.11443, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.21992, 0.38936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.08311, 0.38473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.69142, 0.38018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.02244, 0.37571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.05297, 0.37139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.76505, 0.36728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.1516, 0.36349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.22206, 0.36009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.00492, 0.35715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.544, 0.35468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.49148, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.83016, 0.33905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.04235, 0.33843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.16013, 0.33803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.19876, 0.33782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.16416, 0.33777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.06369, 0.33789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.91339, 0.33819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.73834, 0.33871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56798, 0.33947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42986, 0.34054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.34316, 0.34194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.31003, 0.34368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.30311, 0.34576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.25163, 0.34818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.03398, 0.35094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.48546, 0.35416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.42391, 0.35802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.6867, 0.36276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.16884, 0.3686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.85474, 0.37564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.83951, 0.38382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.33305, 0.39296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.36375, 0.40287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.91463, 0.41351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.02012, 0.4251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.47754, 0.43804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.20688, 0.45278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.23935, 0.46965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.67842, 0.48889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.64737, 0.51061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.24169, 0.53482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.5071, 0.56127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.45833, 0.58901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.13695, 0.61591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.68125, 0.63833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.35696, 0.65174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.49776, 0.65232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.36408, 0.63876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.01432, 0.61298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.28643, 0.57928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.88915, 0.54271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.51828, 0.50759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.92615, 0.47671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.93462, 0.45136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.41973, 0.43172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.29464, 0.41731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.50115, 0.40735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.00834, 0.40096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.81166, 0.39725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.92786, 0.39539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.38742, 0.39462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.23433, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.54335, 0.39345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.45014, 0.39174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.16685, 0.38871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.95159, 0.38441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.03358, 0.37931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.5402, 0.37409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.47403, 0.36932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.74653, 0.3653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76112, 0.36204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14411, 0.35936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44714, 0.35704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.66685, 0.35486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.77127, 0.35272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.71945, 0.35058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.47166, 0.34844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.9924, 0.34635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.25426, 0.34439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.24593, 0.34263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.97973, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.49148, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 16.99727, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.30029, 0.32845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.49807, 0.32849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.62623, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.69705, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.70639, 0.32958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.64736, 0.33018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.52118, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34062, 0.33183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12815, 0.33294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.91248, 0.33431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.72419, 0.33598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.58641, 0.33795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.49703, 0.34022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.40566, 0.34278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.19705, 0.34563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.69506, 0.34887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.69241, 0.3527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.9977, 0.35735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.48451, 0.36303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.13169, 0.36978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.04888, 0.37747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.52192, 0.38583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.24131, 0.39465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.74446, 0.40396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.72546, 0.41408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -17.99781, 0.42551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.51119, 0.43872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.32858, 0.45403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.57694, 0.47156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.38573, 0.49138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.83207, 0.51356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.91612, 0.53813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.58431, 0.56469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.79938, 0.59185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.63303, 0.61659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.33205, 0.63442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.29311, 0.64068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.91999, 0.63268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.4402, 0.61107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.81423, 0.57947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.78894, 0.543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.02459, 0.5065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.19997, 0.47349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.0586, 0.44579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.41401, 0.42385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.1427, 0.40728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.17899, 0.39521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51139, 0.38667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.17357, 0.38069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.22633, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.73736, 0.37317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.77548, 0.37033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.43136, 0.3674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.85233, 0.36397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.25425, 0.3599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.87922, 0.35535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.91363, 0.35074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.4217, 0.34655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33789, 0.34312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.4848, 0.34054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.204, 0.3387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.92966, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.69919, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48898, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.24599, 0.33448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.91548, 0.33349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.45098, 0.33248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.81112, 0.33148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.95824, 0.33053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.86683, 0.3297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.53649, 0.32905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 16.99727, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.95892, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.20495, 0.32032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.36193, 0.32078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.47318, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.55266, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.59051, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.56839, 0.32405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47337, 0.32513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30447, 0.32633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.07378, 0.32769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.80646, 0.32924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.53912, 0.33101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.31038, 0.333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.13823, 0.33521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.98867, 0.33761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.75167, 0.34024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.24323, 0.34321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.24019, 0.34671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.5362, 0.35098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.99917, 0.35616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.61669, 0.36222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.52113, 0.36895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.01617, 0.37602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.63334, 0.38328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.96167, 0.39084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.71093, 0.39912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.71991, 0.40866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.96086, 0.41992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.50933, 0.43308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.49325, 0.4481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.03247, 0.46479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.18533, 0.48299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.92654, 0.5026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.17431, 0.52339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.86301, 0.54451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.03561, 0.56401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.91266, 0.57871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.88536, 0.58504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.40454, 0.58056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.8114, 0.56509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.21442, 0.54079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.47861, 0.51125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.30431, 0.48035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.33, 0.45126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.21323, 0.42597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.67896, 0.40529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.54277, 0.38912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.71717, 0.37686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.20299, 0.3677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.06457, 0.36084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.39225, 0.3556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.26815, 0.35143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.7586, 0.3479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.94333, 0.34462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.96007, 0.34129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.01881, 0.33778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.35385, 0.33418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.13453, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39602, 0.3279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.03497, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.13395, 0.32422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.2965, 0.32334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.5717, 0.32285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.98559, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.49092, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01208, 0.32199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.48224, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.85296, 0.32123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.08348, 0.32083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.13179, 0.32045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.96202, 0.32016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.56275, 0.32001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.95892, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.31766, 0.31382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.49286, 0.31435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.5879, 0.31507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.65683, 0.31596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.71965, 0.317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.7653, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.76777, 0.31938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70245, 0.3207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.55554, 0.3221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.3283, 0.32361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.04035, 0.32525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.7305, 0.32701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.44673, 0.3289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.21906, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.0216, 0.33299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.74448, 0.33525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.19739, 0.33781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.15053, 0.34087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.39749, 0.34462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.81711, 0.34913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.41894, 0.35428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.63718, 0.35979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.05858, 0.36533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.48015, 0.37081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.55076, 0.37643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.00807, 0.38268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.71315, 0.3901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.64476, 0.39907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.86879, 0.40969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.49472, 0.4217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.62561, 0.43465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.3139, 0.44805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.54465, 0.46151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.26249, 0.47472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.43526, 0.48716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.1256, 0.49787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.5345, 0.50531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.98974, 0.50777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.87469, 0.50397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.5244, 0.49364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.1329, 0.4777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.70427, 0.45794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.05639, 0.43655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.87009, 0.41556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.76805, 0.39648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.4006, 0.38017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.51333, 0.36685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.97972, 0.35632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.79445, 0.34812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.0334, 0.34174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.79682, 0.33675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.16346, 0.33278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.18366, 0.32954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.91753, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.48877, 0.32414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.10254, 0.3216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.99462, 0.31915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33479, 0.31695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.1497, 0.31518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.68474, 0.31395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.38188, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.1512, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.11956, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.30145, 0.3132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.62602, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.99532, 0.31342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33123, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.58522, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.71978, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.69137, 0.31332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.45575, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.99125, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.31766, 0.31382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.03202, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.13172, 0.31037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.15176, 0.31124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.15914, 0.31228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.18356, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.21688, 0.31476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.22896, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18605, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.06339, 0.31908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.85276, 0.32063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.56867, 0.32224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.2502, 0.3239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.94915, 0.32559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.69867, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.47155, 0.32905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.15248, 0.33093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.54662, 0.33309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.42699, 0.33573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.60112, 0.33897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.97265, 0.34279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.58168, 0.34699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.38586, 0.35123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.62823, 0.35523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.79453, 0.35896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.56353, 0.36268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.70099, 0.36689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.07958, 0.3721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.66918, 0.3786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51291, 0.38641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.6968, 0.39517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.31533, 0.40427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.43985, 0.41302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.10534, 0.42084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.32749, 0.42738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.14216, 0.43245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.64298, 0.43586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.99503, 0.4373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.42214, 0.43636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.17921, 0.43263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.51822, 0.4259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.64472, 0.41639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66229, 0.40475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.52158, 0.3919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.0058, 0.37884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.77434, 0.36641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.45494, 0.35524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.74477, 0.34564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.47589, 0.33767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.6218, 0.33119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.25144, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.45888, 0.32181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.30898, 0.3185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.83121, 0.31586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.06407, 0.31372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.11531, 0.31187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.18344, 0.31021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.50684, 0.30872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26228, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.52117, 0.30655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.97685, 0.30603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.33757, 0.3059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.83208, 0.30608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.59443, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.62971, 0.30691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.84679, 0.30732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.12799, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38491, 0.30796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.5687, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.64485, 0.30839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.5686, 0.30859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.28794, 0.30884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.77105, 0.30918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.03202, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.06092, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.09214, 0.30826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.03538, 0.30922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.97238, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.94572, 0.31159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.95376, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.9649, 0.31434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93781, 0.31578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.83795, 0.31723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.64922, 0.3187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.38242, 0.32017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.07637, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.78249, 0.32306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.52954, 0.32447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.28145, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.91423, 0.32745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.23209, 0.32929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.02019, 0.33159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.11147, 0.33441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.4433, 0.33762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.91158, 0.34096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.74827, 0.34406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.76949, 0.3467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.65013, 0.34889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.10086, 0.35092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.90792, 0.35327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.9447, 0.35636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.16564, 0.36044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.59297, 0.36548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.29991, 0.37111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.39002, 0.37672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.97511, 0.38162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.16022, 0.38526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.04233, 0.38739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.71841, 0.38806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.2912, 0.38752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.86793, 0.38602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.5605, 0.38368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.49652, 0.38042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.83357, 0.37609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.75176, 0.37063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.40486, 0.36414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84391, 0.35695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.95885, 0.34943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.48289, 0.34198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.06876, 0.33494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.40088, 0.32855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.28493, 0.32297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.67204, 0.31821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.61575, 0.31424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.19611, 0.31098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.46024, 0.30837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.4163, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.08121, 0.30472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.54436, 0.30347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.99231, 0.30246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.66067, 0.30166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.26834, 0.30108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.75888, 0.30078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.94489, 0.30077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.06939, 0.30103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.37399, 0.30151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.99855, 0.30214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.9424, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.10031, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.33994, 0.30405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.56414, 0.30457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72234, 0.30504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.78078, 0.30547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.69205, 0.30588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.39586, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.84971, 0.30683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.06092, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.35346, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.33727, 0.30792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.21607, 0.30896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.08742, 0.31011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.00979, 0.31136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.99122, 0.31267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.00061, 0.31399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98945, 0.31531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.91321, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.7483, 0.31785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.50264, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.21451, 0.32024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.93219, 0.32136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.67546, 0.32245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.39587, 0.32359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.96145, 0.3249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.18109, 0.32653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.86047, 0.32861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.86576, 0.3311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.17162, 0.33382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.12005, 0.33645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.79544, 0.33863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.57271, 0.34018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.15692, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.286, 0.34178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.75798, 0.34256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.44261, 0.34382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28383, 0.34578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.29681, 0.34839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.55955, 0.35135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.19847, 0.35418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.36931, 0.35632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.23714, 0.35737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.9582, 0.3572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.6635, 0.35597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.44484, 0.35403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.35056, 0.35173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.40134, 0.34928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.6271, 0.34671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.10835, 0.34391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.01014, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.55846, 0.33714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.42487, 0.33318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.36306, 0.32897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.61369, 0.32463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.02608, 0.32034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.29838, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.22867, 0.31246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.75361, 0.30908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.91269, 0.30615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.77221, 0.30366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.36383, 0.30163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.67773, 0.30003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.71121, 0.29883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.53361, 0.29798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.31353, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27542, 0.29706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.39947, 0.29695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.66899, 0.29706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.66154, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.62061, 0.29794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.79254, 0.29864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.32065, 0.29946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.20293, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.32828, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.55661, 0.30205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.78438, 0.30284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95745, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.03958, 0.30425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.97846, 0.3049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.70444, 0.30555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.16325, 0.30624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.35346, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.84386, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.81717, 0.30925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.66026, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.48652, 0.31152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.37259, 0.31272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.33914, 0.31393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.35732, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37136, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.3256, 0.31722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.18773, 0.31816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.96201, 0.31904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.68511, 0.31985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.40044, 0.32062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.11744, 0.3214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.77629, 0.32228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.24143, 0.32341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.33317, 0.32491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.88456, 0.32682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.79915, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.08824, 0.33141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.12328, 0.33349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.62162, 0.33498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.1462, 0.33571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.43107, 0.33574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.23555, 0.33534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.36608, 0.33487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.69343, 0.33467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.16442, 0.33492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.80437, 0.33561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.70916, 0.33655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.02914, 0.33739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.94873, 0.33778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.66419, 0.33746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.35878, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.17489, 0.33461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.19002, 0.3325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.41087, 0.33031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.79739, 0.32822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.31345, 0.32627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.01737, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.08513, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.72294, 0.32043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.78821, 0.31822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25308, 0.31585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.2477, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.97541, 0.31072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.13972, 0.30809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04817, 0.30554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.63128, 0.30316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.91953, 0.30099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.97049, 0.2991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.80663, 0.2975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.40673, 0.29623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.75283, 0.29529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.8944, 0.29467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97738, 0.29435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.20665, 0.29429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.24594, 0.29447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.33571, 0.29486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.18197, 0.29544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.0198, 0.29616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.09171, 0.29703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.54166, 0.29801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.37089, 0.29907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.47127, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.70283, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.95873, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17971, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.32395, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.33201, 0.30539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.12387, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.63214, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.84386, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.45062, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.46632, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.32023, 0.31326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.13927, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.01885, 0.31556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.99454, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04177, 0.31756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09805, 0.31838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.09562, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.99157, 0.31965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.78411, 0.32014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.50597, 0.32057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.19437, 0.32099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.84947, 0.32147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.40428, 0.32214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.72624, 0.32312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.65378, 0.32451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.05201, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.86308, 0.32834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.86777, 0.33036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -3.99811, 0.332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.31869, 0.33297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.59025, 0.33311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.57207, 0.33247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.04266, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.82142, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79242, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.92099, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.25503, 0.32691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.91094, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.0522, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.8685, 0.32534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.55762, 0.32436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.30415, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.25022, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.46574, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.93745, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.59252, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.3542, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.79461, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.77552, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.43489, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.6188, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.26511, 0.30808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45767, 0.30661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40624, 0.305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64021, 0.30328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49469, 0.30153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.08632, 0.29981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.44077, 0.29818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.61227, 0.2967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.62169, 0.29541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.44469, 0.29436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.05445, 0.29357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48292, 0.29308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85091, 0.29289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.33715, 0.29298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.09597, 0.29331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.16928, 0.29386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.44787, 0.29457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.71154, 0.29542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.7289, 0.2964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.35791, 0.29752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.40985, 0.29878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.47733, 0.30013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.71212, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.00754, 0.30299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29863, 0.30441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.53572, 0.30579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.65096, 0.30711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.55373, 0.30838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.1628, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.45062, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.08073, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.20476, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.13311, 0.3174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.0005, 0.3186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.91853, 0.31964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.93807, 0.32051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04098, 0.3212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.1603, 0.32172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.21705, 0.32207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.15655, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.96794, 0.32241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.67671, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.31238, 0.3226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.86791, 0.32284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.27456, 0.32333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.40941, 0.32419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.13444, 0.32547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.34924, 0.32712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.03385, 0.32894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.73538, 0.33064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.80082, 0.33189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.95673, 0.33242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.98076, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.65396, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.7772, 0.32929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.19422, 0.32727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.81766, 0.32521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.64397, 0.32332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.74753, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.25857, 0.32028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.33782, 0.31903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.15951, 0.31783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.90239, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.73748, 0.31517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.80208, 0.31366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.16631, 0.31213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.81455, 0.31065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.66285, 0.30932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.38678, 0.30818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.3794, 0.30721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.26456, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.90753, 0.30566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.1559, 0.30494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.92842, 0.30419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.27504, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.36923, 0.30232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43355, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.35653, 0.2999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.93032, 0.29861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.31036, 0.29733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.55098, 0.29612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.67769, 0.29502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.67108, 0.29409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50264, 0.29338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19092, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.83155, 0.29277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.57314, 0.29291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.54626, 0.2933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.78474, 0.29391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.1882, 0.29468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.5546, 0.29559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.66815, 0.29665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.39055, 0.29788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.70346, 0.29929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.31285, 0.30087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.53935, 0.30259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.87282, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.24289, 0.30619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.59121, 0.30799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.84164, 0.30974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.8945, 0.31143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.65555, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.08073, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.64128, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.94521, 0.32085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.0241, 0.32237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.01092, 0.32362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.02613, 0.32459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.13302, 0.32527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32141, 0.32571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.52396, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.65431, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.64717, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.48053, 0.32576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.1691, 0.32559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.73286, 0.3255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.15913, 0.32559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.38201, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.29335, 0.32677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.78186, 0.32796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.78191, 0.32944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.30969, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.529, 0.33234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.5601, 0.33316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.57612, 0.33325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.36525, 0.33253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.72882, 0.33104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.49714, 0.32895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55176, 0.32652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.84713, 0.32399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.41698, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.35894, 0.31934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.80622, 0.31739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.90311, 0.31569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.79558, 0.31419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.63339, 0.3128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.56739, 0.31148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.72821, 0.31018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.19076, 0.30892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.94829, 0.30775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.07904, 0.30669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 0.99563, 0.30579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.86414, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.65843, 0.30451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.26625, 0.30407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.54577, 0.30369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.40789, 0.30331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.87797, 0.30283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.09817, 0.30219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.26538, 0.30136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.54246, 0.30039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), -0.00066, 0.29934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.38328, 0.29825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.66059, 0.29719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.86607, 0.29619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.99105, 0.2953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01194, 0.2946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.93878, 0.29413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.84395, 0.29395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.84466, 0.29406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.04389, 0.29443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.46286, 0.29503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.00711, 0.29579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.49253, 0.2967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.7203, 0.29778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.55668, 0.29906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.97254, 0.30059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.02885, 0.30234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.1718, 0.3043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.5319, 0.30641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.97658, 0.30859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43931, 0.3108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.83737, 0.31299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.0655, 0.31512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.0201, 0.31717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.64128, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.05836, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.60809, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.91643, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.10231, 0.32899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28303, 0.3299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52703, 0.33045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.83161, 0.33068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.13408, 0.33067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.34735, 0.33052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.39979, 0.33028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.25856, 0.33002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.92526, 0.32979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.40821, 0.32968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.68944, 0.3298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.7082, 0.33023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.37346, 0.33104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.60122, 0.33218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.35923, 0.33351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.30219, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.24785, 0.33569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.28347, 0.336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.19315, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.77027, 0.33438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.8371, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26085, 0.33013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.971, 0.32745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.97044, 0.32468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.32968, 0.32197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.16266, 0.31947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.59638, 0.31725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.75128, 0.31532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.7411, 0.31368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.68475, 0.31228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.71136, 0.31104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.94345, 0.30992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.46152, 0.3089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.27287, 0.30797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.68859, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.5226, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.30061, 0.30593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.01709, 0.30556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.58453, 0.30534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.87875, 0.30521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.81172, 0.30508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.39146, 0.30485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.73174, 0.30444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.0027, 0.3038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.35198, 0.30297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.84711, 0.30201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.4726, 0.30098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.17371, 0.29995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.09093, 0.29896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32592, 0.29806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51697, 0.29732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.6702, 0.29679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.8379, 0.29654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.10665, 0.29657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.55016, 0.29687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.17341, 0.29739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.88377, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.51205, 0.29893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.87511, 0.29996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.84405, 0.30122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.38004, 0.30276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.52575, 0.30459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.36753, 0.30669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.00335, 0.309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.50849, 0.31145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07456, 0.31399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61514, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.0245, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.19601, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.05836, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29795, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14161, 0.33084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74732, 0.33276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20803, 0.33419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.62336, 0.33511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.05593, 0.33558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.50707, 0.3357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.92261, 0.33561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.22229, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.33488, 0.33521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.21997, 0.33505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.866, 0.33501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.26835, 0.33514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.40285, 0.33552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.21356, 0.33621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.62576, 0.33723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.58074, 0.33847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.07691, 0.33972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.8029, 0.3407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.89281, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.97378, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.81615, 0.33976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.21605, 0.33798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.01875, 0.33565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.13303, 0.33297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.53926, 0.33011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.28713, 0.32723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.47799, 0.32446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.23501, 0.32188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.67445, 0.31958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.89284, 0.3176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.9749, 0.31594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.01223, 0.31457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.1134, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.39125, 0.31249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.92961, 0.31169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.24972, 0.31099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.19438, 0.31039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.99166, 0.30991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.7144, 0.30957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.37378, 0.30938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.90809, 0.30935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.21614, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.21834, 0.30949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.91113, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.38145, 0.30917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.76973, 0.30861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.20349, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.74449, 0.30681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.38073, 0.30574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.06033, 0.30465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.73686, 0.30359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.39358, 0.30261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.0341, 0.30179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.34684, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.78468, 0.30082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.33737, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.04889, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.90493, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.80993, 0.30188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.60491, 0.30257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.11977, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.23081, 0.30458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.89258, 0.30601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.13349, 0.30778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.02689, 0.30986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.65897, 0.31222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.11116, 0.31478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.53822, 0.3175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20233, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78054, 0.32313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17087, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29795, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.37973, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.53907, 0.33533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.48492, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.27645, 0.33891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.98307, 0.33989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.64989, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.27623, 0.34061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.81718, 0.34062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.20472, 0.34062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.37462, 0.3407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.28387, 0.34093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.91028, 0.34137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.23663, 0.34206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.23144, 0.34303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.84139, 0.34431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 7.00481, 0.34583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.68441, 0.3474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.90599, 0.34874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.21614, 0.34952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.48335, 0.34944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.6481, 0.34841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.46448, 0.34651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.73205, 0.34396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.32151, 0.34102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.1835, 0.33793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.34493, 0.33486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.8939, 0.33192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.95351, 0.32916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.65049, 0.32664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.09055, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.35185, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.49806, 0.32089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.60012, 0.31962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.74883, 0.31863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.04576, 0.31787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.57418, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.63259, 0.31684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.60312, 0.3165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.4078, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.11496, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.74826, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.27118, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.60887, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.69565, 0.31681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.52096, 0.31688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.14563, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.67653, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.21483, 0.31524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.81133, 0.31415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.45597, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.10196, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.70216, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23174, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.68545, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.05815, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.67095, 0.30734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.53295, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.54198, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.66147, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.78794, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.76755, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.44063, 0.3087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.69002, 0.30953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.46845, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.79638, 0.3122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.73928, 0.31407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.38074, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.80494, 0.31874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.09326, 0.32143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.66999, 0.32427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.39381, 0.32719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.98758, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.37973, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.37497, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.84343, 0.33952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.13798, 0.34161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.28287, 0.34324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.31141, 0.34438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.24323, 0.34513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.06905, 0.34562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.75023, 0.34603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.23167, 0.34652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.45931, 0.34721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.39159, 0.34818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.99911, 0.34947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.25391, 0.35111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.11683, 0.3531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.53467, 0.35539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.45481, 0.35781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.8572, 0.36007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.79234, 0.36176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.59397, 0.36245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.068, 0.36185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.35157, 0.35994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.18314, 0.35698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.36865, 0.35339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.80589, 0.34959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.48408, 0.34589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.4678, 0.34245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.87191, 0.33934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.83159, 0.33658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.47309, 0.33414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.89446, 0.33203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.16355, 0.33024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.33271, 0.32879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.46013, 0.32767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.62256, 0.32687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.90932, 0.32634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.39883, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.86893, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.90595, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.76453, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.50437, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.15696, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.70829, 0.32673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.11021, 0.32715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.31376, 0.32749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.3044, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.1175, 0.32742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.82331, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.49078, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.154, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.80189, 0.32325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.39379, 0.32187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.88608, 0.32057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25126, 0.31939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.47955, 0.31838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.56785, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.48998, 0.31699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.69862, 0.31663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.04121, 0.31642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.45568, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.82574, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -6.99857, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.82371, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.19346, 0.31664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.06504, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.45829, 0.31832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.43664, 0.31976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.08371, 0.32157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.48604, 0.32371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.72619, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.11622, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.9621, 0.33153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.73579, 0.33434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.37497, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.38471, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.13249, 0.34408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.75056, 0.34615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.23372, 0.3479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.58179, 0.34933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.78768, 0.35052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.82921, 0.35161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.66863, 0.35277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.25946, 0.35414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.55574, 0.35586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.51773, 0.35802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.11067, 0.36065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.29742, 0.36377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.03124, 0.36733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.25708, 0.3712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.92831, 0.37509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.03953, 0.37854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.66557, 0.38093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.01395, 0.38168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.72707, 0.38047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.1641, 0.37741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.0508, 0.37302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.20378, 0.36798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.54899, 0.36291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.10936, 0.35821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.97731, 0.35409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.28355, 0.35058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.16726, 0.34763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.75172, 0.34516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.13063, 0.34312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.3689, 0.34147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.51628, 0.34019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.62544, 0.33928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.76303, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -2.00609, 0.33849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.42472, 0.33851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.9397, 0.33874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.08706, 0.3391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.05301, 0.33955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.88633, 0.34005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.6215, 0.34061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.26183, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.78248, 0.34174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.15041, 0.34216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.34831, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.38737, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.30063, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.12162, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.86293, 0.33912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.50847, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.0225, 0.3363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.36729, 0.33498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51754, 0.33382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.4644, 0.33282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.21111, 0.33199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.23093, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.83756, 0.33073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.55779, 0.33017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.29976, 0.32954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.93021, 0.32881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.295, 0.32802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.25411, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.71423, 0.32678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.64426, 0.32661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.07082, 0.32687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.06052, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.69903, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.07452, 0.33032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.26894, 0.33223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.3563, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.59598, 0.3368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.52684, 0.33929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.38471, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.50346, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.48771, 0.35038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.38117, 0.35245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.15866, 0.35442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.7955, 0.35632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.263, 0.35822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.52568, 0.36026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.54169, 0.36259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.26614, 0.36535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.65482, 0.36867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.66582, 0.37265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.25709, 0.37733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.38142, 0.38272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.98313, 0.38871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 11.00314, 0.39505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.39883, 0.40127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.17958, 0.40662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.44839, 0.41017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.57448, 0.41108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57255, 0.40898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.20336, 0.40422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.18417, 0.39769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.34768, 0.39045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.64968, 0.3834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.14289, 0.37708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.94008, 0.37172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.18015, 0.36734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -15.00132, 0.36383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.52283, 0.36106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.83649, 0.35891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -10.00901, 0.35729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.09302, 0.35614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.14055, 0.35544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.2114, 0.35515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.3712, 0.35524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.67968, 0.35565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.82468, 0.35629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.13465, 0.35709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.27228, 0.35795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.27461, 0.35883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.17414, 0.35968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.98409, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.69576, 0.36115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.28756, 0.36162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.73884, 0.36181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.03916, 0.36163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.18745, 0.36108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.18274, 0.3602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.01364, 0.35912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.65444, 0.35798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.0703, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.22822, 0.35591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10739, 0.35508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.70465, 0.35436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.03552, 0.35369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.13506, 0.35296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.93727, 0.35206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.08983, 0.35087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.19516, 0.34931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.09961, 0.34742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.64809, 0.34532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.71514, 0.34323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.22862, 0.34137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.17673, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.59929, 0.33904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.57009, 0.33871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.17795, 0.33893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.51169, 0.33965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.65141, 0.34081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.66568, 0.34233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.61262, 0.34414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.45802, 0.34614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.50346, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.78454, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.96117, 0.36064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.07551, 0.36282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.09215, 0.36521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.97287, 0.36785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.67568, 0.37083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.15484, 0.37427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.36189, 0.37833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.24717, 0.38317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.76072, 0.38892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.85149, 0.39571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.46451, 0.4036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.53752, 0.41257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 14.00089, 0.42244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.78677, 0.43279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.8538, 0.4428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.22853, 0.45121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.0516, 0.45654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40122, 0.45755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.75582, 0.45386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.63254, 0.44621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.74486, 0.43615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.94929, 0.42534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.23588, 0.41504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.6867, 0.40598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.43161, 0.39844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.61445, 0.39238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.37096, 0.38766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.81657, 0.38405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.0424, 0.38138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.11846, 0.37949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.10178, 0.37827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.04545, 0.37765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -5.00417, 0.37755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.03331, 0.37792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.18183, 0.37867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.51728, 0.3797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.05362, 0.3809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.43889, 0.38215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.6983, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.85755, 0.38452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.93116, 0.38552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.91703, 0.38635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.79828, 0.38697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.54945, 0.38734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.14243, 0.38747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.54865, 0.38738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.73753, 0.38716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.67382, 0.38692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.31746, 0.38677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.62758, 0.38678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.5701, 0.38695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.12639, 0.38722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.30102, 0.38743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.12782, 0.38734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.67499, 0.38671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.95112, 0.3853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.60662, 0.38296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.12019, 0.3797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.31523, 0.3757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.03895, 0.37132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.18758, 0.36695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.71831, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.64586, 0.35956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.02841, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.94958, 0.35507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.50178, 0.35396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.77373, 0.35353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.84312, 0.35369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.7742, 0.35436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.61899, 0.35546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.57966, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.78454, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.22216, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.55578, 0.37841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.84516, 0.38096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.05203, 0.3841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.13358, 0.3879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.04246, 0.39249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.7272, 0.39802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.13301, 0.40468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.20205, 0.41266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.87281, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.07816, 0.4334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.74243, 0.44646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.77945, 0.46133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.09553, 0.47772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.60392, 0.49486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.25798, 0.5113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.10432, 0.52483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.33826, 0.53289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.68114, 0.53353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.49673, 0.52649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.6821, 0.51344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.95389, 0.4971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.20549, 0.48011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.47134, 0.46427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.86771, 0.45052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.54316, 0.43915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.64726, 0.43006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.31433, 0.42298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.65694, 0.41762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.76553, 0.41368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.71221, 0.41092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.55661, 0.40916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.3517, 0.40823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.14717, 0.40802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.98919, 0.40842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.91684, 0.40929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.04291, 0.41051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.87859, 0.41194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.59371, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.20165, 0.41496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.71731, 0.41637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.1488, 0.41765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.49165, 0.41882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.72718, 0.41987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.82409, 0.42088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.74152, 0.42191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.4317, 0.42308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.84157, 0.4245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.91405, 0.42629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.59021, 0.42852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.81374, 0.43121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53854, 0.43421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.73927, 0.43723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.42437, 0.43982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.64957, 0.44137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.52817, 0.44129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.76826, 0.43909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.0245, 0.43462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.01259, 0.42817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.53035, 0.42034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.43323, 0.41193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.64871, 0.40368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.17231, 0.39615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.05176, 0.38967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.36747, 0.38438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.21473, 0.38027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.68996, 0.37727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.88155, 0.37525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.86499, 0.37411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.70165, 0.37373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.44041, 0.37403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.12095, 0.37494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.22216, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.75198, 0.40747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.22081, 0.4098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.65593, 0.41314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.02012, 0.41759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.27132, 0.42328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.36201, 0.43038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.23896, 0.43913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.84282, 0.44981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.10706, 0.46274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.95593, 0.47827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.30131, 0.49674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.03925, 0.51843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.04844, 0.54338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.19585, 0.57113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.35821, 0.60031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.47032, 0.62818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.60179, 0.65051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.96765, 0.66253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.74518, 0.66105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.14741, 0.64647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.68996, 0.62261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.11015, 0.59455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.36382, 0.56652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.54887, 0.54107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.82619, 0.5193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.36798, 0.50137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.33229, 0.487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.85372, 0.47574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.04246, 0.46708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.98702, 0.46058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.75865, 0.45587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.41608, 0.45264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -10.0094, 0.45064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.58242, 0.44965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.17315, 0.4495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.81252, 0.45 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.52272, 0.451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.68383, 0.45234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.80352, 0.45389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.83818, 0.45556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.79012, 0.4573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.65665, 0.4591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.42565, 0.46103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.07299, 0.46318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.56197, 0.46569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.84406, 0.46876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.86018, 0.47257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.5421, 0.47734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.81377, 0.48325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.5937, 0.49038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.79958, 0.49868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35732, 0.50781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.21674, 0.51708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.37493, 0.52537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.90419, 0.5312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.97354, 0.53307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.1538, 0.52993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.15941, 0.52168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.73577, 0.50928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.64886, 0.49438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.76919, 0.47871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.06679, 0.46367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.58515, 0.45014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.41131, 0.43853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.65146, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.41441, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.80162, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.90189, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.78936, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.52394, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.15344, 0.40575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.71686, 0.40612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.75198, 0.40747 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.60645, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.62314, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.65478, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.70209, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.76437, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.83926, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.92184, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.00329, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.06999, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.10369, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.08296, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.98593, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.79383, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.49514, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.09001, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.59484, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.04613, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.50271, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04513, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77058, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.78296, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.1779, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.0252, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.35282, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.13784, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.30849, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.757, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.3589, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.99212, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.55073, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.95149, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.13386, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.05681, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.69576, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.04219, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.10665, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.92336, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.5535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.08395, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.61965, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.2696, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.13004, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.26994, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.72353, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.49079, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54389, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.83645, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.31285, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.91615, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.59386, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.30112, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.00116, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.66328, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.25915, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.75878, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.12744, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.32507, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.30905, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.04065, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.49425, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.66536, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.57258, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.25128, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.74333, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.08862, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32103, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46809, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55225, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59245, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60511, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60443, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.60202, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.60645, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20436, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.22415, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.25171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.28789, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.33286, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.38697, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.44987, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.51856, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.58526, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.63618, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.65177, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.60813, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.47968, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.24332, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.88445, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.40505, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.83245, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22657, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68249, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.32589, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.2993, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.73942, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.74848, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.36756, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.56222, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.22816, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.21549, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.36141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.51845, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.5705, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.43526, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.05655, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.3928, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.40817, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.07132, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.36283, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.28807, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.88962, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.25359, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.50575, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.7954, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.26942, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.04483, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.19035, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.72202, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61088, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.79677, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.20311, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.74973, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.36241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.97821, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.54651, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.02598, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.37962, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.57076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.5631, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.32616, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84378, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12027, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17904, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05386, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77811, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37793, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.26831, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.57872, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81033, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97266, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07742, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13847, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.1709, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18904, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20436, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.4004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.41632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.42699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.43764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.44915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.46484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.48819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.51958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.55371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.57791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.57145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.50564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.34639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.06122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.63148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.81555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.38998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.3367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.83917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.03493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.97517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.6049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.77626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.29, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.94504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.57592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.06868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.35648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.40173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.17391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.63294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.72532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.39506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.60495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.35901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.80325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.7858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.85871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.19781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.92622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.0968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.65536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.88272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.27247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.72626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.16137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.51303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.73068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.77207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.60054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.18912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.22053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.59443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.88877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.10487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.24937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.3344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.4004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.00708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.98137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.94692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.9022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.85185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.80459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.76933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.75124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.74828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.74732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.7204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.62411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.40665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.61791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.54766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.13391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.54881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.84743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.94424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.63856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.67726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.82195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.89352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.78557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.45239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.05918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.95131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.49121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.59449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.18516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.22578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.73945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.81931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.62622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.37099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.27664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.52965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.24111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.05213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.99215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.12813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.33954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.52622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.61225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.54066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.26588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.98158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.9662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.75212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.4084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.00465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.58952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.18031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.82111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.24317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.57802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.82264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.98065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.06297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.0879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.8638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.79347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.70951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.60477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.48191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.35225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.23152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.13518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.07318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.04257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.01865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.95002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.76563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.30583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.74196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.66992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.37229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.04997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.75335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.35886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.60958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.19884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.85194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.37454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.66309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.68663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.45187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.96436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.19914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.09067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.54435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.46447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.78718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.5054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.67955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.43929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.97865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.53455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.34098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.57283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.30694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.5177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.1033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.92628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.85081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.76553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.58811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.25652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.93367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.8837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.59273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.12876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.58553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.05036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.57528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.9357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.38959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.74142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.98773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.1309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.18094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.15827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.09174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.82293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.70063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.56768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.40811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.21904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.01082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.80304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.61937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.48077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.39439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.33907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.25585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.05553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.64807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.60376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.46476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.44846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.59213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.73441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.56958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.74493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.95027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.96807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.68291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.06175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.11732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.86701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.30062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.36733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.98429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.06151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.53208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.37543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.62808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.38766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.8166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.13738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.60136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.42927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.75031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.57531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.33221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.9829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.65355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.2605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.7368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.01921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.05208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.80956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.32017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.67112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.9826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.36332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.87082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.49656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.84696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.43216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.90273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.24817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.4682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.56566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.54989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.4438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.28429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.22435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.74127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.55949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.3813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.17906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.94067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.67195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.39304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.13286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.92064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.77102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.66418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.53289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.27245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.78042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.07273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.41568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.4463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.50723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.81535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.3912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.0488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.45471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.22527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.01551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.57149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.74459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.47737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.77166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.64956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.12011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.16231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.72778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.75761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.20336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.29758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.03291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.38272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.54941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.78435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.33095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.35241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.88732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.86026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.13452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.52012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.88376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.07229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.00993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.65546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.03707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.26001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.47377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.81299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.34338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.04144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.56, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.18901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.6654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.98401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.1507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.17028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.05185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.82157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.5269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.22435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.26995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.86025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.53981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.29221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.07582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.84858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.58573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.28533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.96536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.65738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.39559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.19784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.04172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.85082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.50975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.91311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.0313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.94415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.3239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.48735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.77061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.37396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.30648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.3829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.27347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.58432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.93744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.02839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.65401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.71204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.17922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.07752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.44061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.29177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.63652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.46562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.76157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.5072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.70041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.37857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.6467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.69267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.76923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.13407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.96882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.32461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.12945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.2469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.54212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.91634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.29964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.62116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.78942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.70603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.31035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.62639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.77576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.9387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.27906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.87289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.68084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.4201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.10223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.58191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.86098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.95324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.86659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.6105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.21567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.74308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.26995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.28077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.70452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.26692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.9533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.71148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.48277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.22653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.93027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.60809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.29264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.02034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.80806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.62718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.39276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.98606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.31134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.27235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.69746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.19247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.84392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.34767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.52914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.62127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.94706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.15409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.8611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.66417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.20177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.20353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.51064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.06722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.89258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.04809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.6088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.64312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.19814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.28997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.01611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.62761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.81509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.75542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.70871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.94937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.67262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.9322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.64961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.68234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.89868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.21255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.56775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.89734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.0988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.05205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.67574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.98676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.11974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.28371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.67144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.37001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.32466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.34275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.09718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.59125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.83313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.84464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.63731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.22185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.63498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.95394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.28077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.4536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.71126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.16136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.79406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.54804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.34711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.13243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.87867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.59486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.31404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.07332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.88626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.28275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.52324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.94805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.63265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.55286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.36194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.64692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.08212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.41087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.48555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.28527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.92031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.37111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.24081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.27565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.06742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.28338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.70945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.25588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.93587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.83338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.07008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.77286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.04185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.92479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.44847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.00821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.13583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.99714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.86062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.01809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.67718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.89108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.57072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.56374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.73893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.02231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.37358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.73423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.99632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.02308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.71475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.07934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.25895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.48383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.96967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.81262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.94513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.29842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.1553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.69324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.9235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.87378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.55893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.99181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.21644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.32755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.4536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.17236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.30051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.66871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.27507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.94733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.09026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.40892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.6212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.8352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.01363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.14581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.27093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.47589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.85858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.4688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.25644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.05513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.60884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.62634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.83896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.04148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.11079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 15.01262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.81165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.68824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.05476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.01968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.78186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.97259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.3387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.76049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.23777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.86223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.78479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.17608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.18039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.87446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.25092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.24257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.78612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.9007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.73876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.57109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.69946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.33878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.54111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.20947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.18366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.33224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.59117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.93568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.31991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.6391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.74972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.54068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.01132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.30297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.6532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.28743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.30575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.63339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.36198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.3591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.98915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.26072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.20284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.83231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.16477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.25168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.20353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.17236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.04737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.97688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.63783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.02126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.19381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.25727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.30416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.38734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.5113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.64522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.75195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.82098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.88883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.03127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.32479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.7938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.37156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.89631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.14282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.87175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.87324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.99012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.1227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.23089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.34935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.61436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.28187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.71021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.69994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.58557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.68339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.85387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.07602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.42989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.07181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.19511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.97497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.81172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.79325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.37313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.54718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.45026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.3428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.5208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.19591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.41871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.09158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.05409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.17668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.40209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.71786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.09327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.43688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.61292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.51072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.1235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.58219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.11318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.9334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.1395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.65707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.76667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.93954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.71975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.10613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.12271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.78563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.11294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.83831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.94752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.04737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.69481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.5913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.21937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.55723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.6641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.64319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.59562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.58476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.62302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.68354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.72991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.74888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.7678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.84446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.03104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.66858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.89914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.83423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.28598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.09745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.15393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.3809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.74544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.27323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.07593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.36829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.45389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.67531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.34928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.71638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.08064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -3.99922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.09336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.50238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.41866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.03032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.71341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.72523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.39972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.28386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.21347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.15522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.83805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.06599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.79038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.1005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.14673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.05247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.87143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.60944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.28284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.96148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.75886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.7716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.00796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.35531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.61577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.59819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.21678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.53843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.7525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.08589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.71735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.16167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.97867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.17602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.73503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.59713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.64052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.69481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.40879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.18412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.72147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.98621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.02395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.92986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.80475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.71742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.68754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.69421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.70317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.69677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.68919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.71673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.80751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.06181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.02364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.68118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.89118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.54068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.55207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.87912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.50852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.47457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.8798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.90465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.79225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.80976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.20348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.16741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.82982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.24681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.39378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.16246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.38208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.87172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.25465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.17896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.36462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.8407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.52156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.21323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.68534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.76755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.41363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.69744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.75027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.6844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.55187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.35772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.10777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.8477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.65972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.61623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.72171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.88484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.94566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.7491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.22501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.42908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.70446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.93906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.12406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.70162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.66696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 18.00344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.65605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.51134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.40879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.0438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.62693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.02656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.19831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.17096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.02372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.84802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.71137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.63828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.6147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.61014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.60301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.59374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.59739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.62044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.6358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.5713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.31824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.75523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.77434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.29745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.27924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.70361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.58418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.97309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.97146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.73007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.43362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.27336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.42147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.01746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.16368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.91826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.27951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.17316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.46239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.63561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.3599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.20106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.22777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.46944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.86604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.26926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.49705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.4103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.96648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.22113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.28119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.24374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.15867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.03377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.86924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.68946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.54468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.47959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.49105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.50674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.40442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.06619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.43903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.56766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.65006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.9223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.49951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.43096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.7344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.41345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.45565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.81366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.3898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.0438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.64281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.21349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.27758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.19064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.01133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.81411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.65804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.56824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.53644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.53695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.54611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.55296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.55467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.47274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.28326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.87817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.15916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.04461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.48326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.45734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.97953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.0908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.86168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.39271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.80817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.24184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.82027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.65241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.82869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.42287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.48592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.02884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.00584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.31626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.45545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.13369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.88568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.75778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.77385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.89486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.01578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.00275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.74931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.21878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.44946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.52296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.51837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.48123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.4223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.33969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.24211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.15311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.09222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.0473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.96011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.73963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.30011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.60458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.68956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.64772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.78881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.17909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.87684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.91112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.29279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.01423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.03777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.28523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.64281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.4485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.48474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.4315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.28892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.09426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.90044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.75202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.66948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.64743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.66459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.69718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.7268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.58997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.32192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.82027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 59.0035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.80907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.20624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.19965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.82595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.14809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.24951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.22729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.18243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.20868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.38457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.77296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.42709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.39543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.71711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.40663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.43767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.74049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.7938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.41235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.07565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.80878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.62721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.50698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.37924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.1529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.75259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.14958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.3684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.46723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.50616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.52325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.53003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.52375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.50276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.47116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.42893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.35582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.20302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.90285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.39491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.65613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.71848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.60714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.65668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.90367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.40891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.20737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.31443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.72678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.41654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.32545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.10417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.93116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.73481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.53358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.35815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.2353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.1765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.17545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.2135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.26777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.33509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.29376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.14587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.82834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.26794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.39557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.16296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.59329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.33149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.84596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.22521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.55923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.92949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.4014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.02228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.82592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.84091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.09623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.61815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.41856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.4819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.76117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.69887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.24802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.82387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.43474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.08789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.76929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.43777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.03712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.51923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.86449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.08774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.22726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.3246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.40768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.48546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.55359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.60345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.62611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.60805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.52311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.32911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.97553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.42156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.65625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.71021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.65254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.5751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.57202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.72321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.08651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.69778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.57417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.7157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.10345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.44447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.34946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.3171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.51304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.52911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.47191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.29471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.93819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.33674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.43147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.18564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.59625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.69667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.55003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.23741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.84508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.45323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.12768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.91558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.84653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.93856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.20592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.32757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.20299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.27913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.52382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.32695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.79884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.28734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.78998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.30791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.83348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.34527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.81332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.21138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.52864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.77382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.96949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.14048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.30313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.46071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.60539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.72306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.79612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.80252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.71291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.49081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.09926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.51335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.73315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.79035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.7449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.21039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.4549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.5309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.35456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.41644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.45985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.45623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.36987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.15509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.75673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.11643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.18458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.93475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.37369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.54211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.50626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.34498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.13711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.95177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.84248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.84525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.98088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.26026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.69039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.27803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.02908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.94411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.01296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.50885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.86646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.25527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.6568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.06349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.47321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.88256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.28314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.66289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.01122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.32438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.60748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.87159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.12768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.38062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.62605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.8508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.03534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.15591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.18535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.0936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.85019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.43017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.8226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.0379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.11027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.09359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.2377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.74074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.18671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.14695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.15276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.18355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.21649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.22622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.18324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.05152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.7868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.33786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.65297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.69138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.4363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.90271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.13554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.1997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.16738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.10721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.0771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.12068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.26698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.53267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.92601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.45086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.10915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.90102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.8227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.86398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.2282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.5018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.80538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.12313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.44674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.77338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.1025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.43335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.76445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.0947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.42484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.75771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.09654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.44196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.78896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.12523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.43129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.68196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.84846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.90058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.80937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.55104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.11208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.49437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.71794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.81996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.84981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.2774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.44988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.46444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.22501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.06481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.96781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.9156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.88768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.86136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.81108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.70686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.51251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.18478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.67544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.9383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.94059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.67462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.16259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.45174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.60312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.68009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.74013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.83035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.98597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.23083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.57923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.03846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.61124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.29737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.09412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.99568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.4034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.62507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.86682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.12215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.3891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.66888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.96434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.27882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.61549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.97689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.36408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.77536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.20457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.63957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.06149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.44492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.75932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.97153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.04926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.96553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.70347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.26038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.64964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.89961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.04982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.35462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.23445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.76476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.42961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.38704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.87526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.46108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.13431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.88251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.69111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.54348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.42092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.30221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.1627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.97284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.69669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.29163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.7113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.91355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.87264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.58945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.09284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.43119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.66028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.83373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.99777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.18931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.4359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.75661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.1635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.66309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.2578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.94697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.72737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.73043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.87996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.05819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.26125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.48848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.74187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.0251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.34247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.69778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.09326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.52839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 75.9987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.4945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 76.9999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.49223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.94215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.31511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.5743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.6855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.62335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.37701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.95307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.37433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.07982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.75948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.12046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.57888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.14503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.82533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.62343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.578, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58485.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57349, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56198.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55044.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53890.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52741, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51593.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50443.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49277.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48080.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46835, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45523.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44133.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42659.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41103.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39481.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37816.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36140.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34494.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32921.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31465.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30166.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29052.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28139.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27425.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26890.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26504.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26227.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26018.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25844.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25680.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25516.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25353.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25205.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25096.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25062.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25144.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25852, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26564.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27558.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28847.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30426, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32273.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34356.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36630.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39046.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41555.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44107.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46657.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49167, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51599.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53923.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56106.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58118.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59930.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61517.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62858.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63943.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64767.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65336, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65660.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65756.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65643, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65340.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64869.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64249.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63500.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62641.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61692.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60672.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59598.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58485.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56318.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55126, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53925.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52724.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51530.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50347.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49175, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48009.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44421.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43133, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41769.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40319.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38783.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37171.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35504.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33815.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32148.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30554, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29086.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27796.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26724.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25892.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25297.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24914.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24700.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24599.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24560.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24538, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24501.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24436.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24340.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24224.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24109.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24030.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24034.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24179.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25140.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26064.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27326.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28927.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30845, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33035.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35442.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38002.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40649.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43321.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45965.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48537.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51000, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53323.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55480, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57441, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59180.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60676.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61913.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62884.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63593.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64050.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64271.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64273, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64075.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63696.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61654.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60730.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59715.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58629.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57491.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56318.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53965.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52744.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51518.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50295.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49080.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46693.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45522.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44358, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43187.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41992, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40752.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39450.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38073, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36613.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35075.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33474.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31838.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30211.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28649.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27216.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25975.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24975.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24246.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23786.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23562.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23518.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23589, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23711.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23838.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23936.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23991.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23998.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23961.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23893.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23817.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23776.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23829.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24052.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24524.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26476.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28018.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29924.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32147.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34618.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37259.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39985, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42719.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45397.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47970, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50398.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52655.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54715.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56554.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58151.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59488.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60561, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61372, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61934, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62264.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62381.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62302.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62042.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61616.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61036.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60317.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59471.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58514.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57465.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56343.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55170.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53965.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51455.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50231.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49006.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47785.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46572.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45372.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44188.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43023.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41873.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40732.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38412.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37201.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34598, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33188.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31710.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30186.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28656.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27179.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25825.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24667.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23763.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23147.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22818.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22735.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22836.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23047.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23304.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23561.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23791.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23984.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24134.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24236, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24285.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24289.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24273.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24288.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24412.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24738.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25357.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26344.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27736.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29531.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31687.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34131.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36768.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39500.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42232.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44886.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47405.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49750.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51891.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53804.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56866.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57992.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58851.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59463.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59855.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60051.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60070.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59925.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59624.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59173.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56999.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56037.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54980.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53849.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52667.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51455.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48804.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47605.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46408, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45216.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44031.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42856.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41696, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40556.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39438.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38340.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37254.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36169.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35069.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33939.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32760.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31518, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30207.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28840.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27454.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26107.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24872, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23825.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23032.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22527.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22309.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22336.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22541.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22853.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23210.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23575, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23931.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24274.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24598.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24887, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25118.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25276.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25361.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25410.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25489.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25694.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26131.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26896.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28057.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29638.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31616.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33923.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36458.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39107.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41762.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44331.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46748.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48968.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50960.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52696.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54154.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55320.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56198.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56813.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57204, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57413.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57475, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57406.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56883.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56421.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55827.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55106.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54266.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53318.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52277.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51161.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49996.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48804.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46040, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44893.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43753.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42621.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41495.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40377.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38186, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37126.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36096.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35093.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34111.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33141.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32165.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30108.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28990.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27813.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26607.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25425.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24340.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23425.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22746.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22337.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22199, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22294.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22562.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22937, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23365.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23821, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24295, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24788.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25294.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25787.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26228.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26577.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26813.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26950.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27040.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27441.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27971.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28851, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30139.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31841.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33906.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36236.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38711.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41209, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43628.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45895, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47958.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49779.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51324.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52565.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53489.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54109.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54471, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54636, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54666.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54602.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54458.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54224.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53880.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53416.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52827.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52120.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51304.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49382.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48306.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46040, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42159.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41108.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39035.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38009.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36995, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 36001.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35036.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34105.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33212.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32356.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31530.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30719.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29899.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29043.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28132.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27162.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26158.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25166.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24249.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23473.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22896.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22555.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22457, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22575.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22863.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23747.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24277.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24854.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25480.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26815.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27441.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27969.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28360.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28607.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28742.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28835.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28982.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29298, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29893.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30857.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32227.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33976.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36020.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38237.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40503.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42711, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44780.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46656.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48293.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49645.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50676.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51370.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51749.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51875.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51834.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51703.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51532.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51325.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51061.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50705.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50238.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49656, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48966.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48180, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46355.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44289.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40459, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39509.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38578.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37661.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36755.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35857.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34974.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34112.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33281.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32488.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31736.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31029.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30363.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29723.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29089.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28432.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27730, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26975.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26182.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25386.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24636.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23987.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23488.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23178.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23072.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23164.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23428.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23829.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24332.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24914.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25568.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26287, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27840.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28587.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29238.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29745.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30089.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30372.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30440.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30592, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30945.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31608.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32645.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34053.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35765.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37671.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39648.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41592.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43425.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45087.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46528, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47691.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48531.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49028.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49206.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49141.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48933.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48674.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48415.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48156.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47862.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47491.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47017.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46437.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45763.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45010.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44188.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43306.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42377.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41420.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40459, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37905.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37097.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36312.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35546.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34794.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33335.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32642.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31982.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31361, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30782.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30247.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29754.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29292.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28843.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28381.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27884, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27338.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26749.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26136.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25533.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24982.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24527, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24204.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24043.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24058.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24249.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24601, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25087.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25683.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26368.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27124.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27928.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28746.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29531.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30230.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30796.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31449.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31561.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31599.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31655.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31843, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32274.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33028.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35504.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37079.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38739.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40390.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41958.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43388.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44625.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45608.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46283.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46625.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46659.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46463.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46143.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45794.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45466.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45156.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44825.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44426.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43934.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43349.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42687.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41967.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41201.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40399.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39571.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37905.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35741, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35095.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34477, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33878.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33297.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32736.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32201.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31699.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31237.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30815.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30433.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30090.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29782.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29503.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29238.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28966, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28661.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28306.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27894, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27431.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26938.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26448.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25998, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25625.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25369.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25263.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25332, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25580.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25994.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26547.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27932, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28702.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29481.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30231.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30911.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31483.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31919.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32207.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32360, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32416.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32451, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32861.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33419.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34261.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35353.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36618, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37966.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39319.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40618.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41810.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42843.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43655.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44191.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44424.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44112.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43736, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43332, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42946.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42576.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42186.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41738.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40605.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39947, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39255.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38546.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37829.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37115.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36415.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35741, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34123, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33649.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33205, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32374.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31995.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31651.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31352.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31101.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30893.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30723.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30584.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30471.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30380.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30297.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30203.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30071.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29877.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29602.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29245.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28818.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28348.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27867.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27417.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27040.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26785.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26694.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26791.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27076.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27521.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28085.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28727.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29409.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30100.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30772, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31394.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31940.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32383.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32707.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32914.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33030.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33111.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33240.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33502, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33960.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34635, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35500.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36500.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37570.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38652, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39698.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40666.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41507.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42164.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42587.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42750, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42665.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42390.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42000.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41564.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40671.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40194, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39664, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39072.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38429.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37758.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37083.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36422.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35788.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35190.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34634.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34123, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33146.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32838.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32560.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32301.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32064.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31859, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31701.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31602.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31562.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31572.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31618.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31690, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31777.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31875.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31970.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32060.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31992.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31813.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31517.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31112.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30624.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30086.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29540.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29034.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28622.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28359, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28281.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28398.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28689, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29112.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29624.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30186, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30769.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31351.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31910.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32423.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32869.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33230.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33502.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33705.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33882.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34093.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34399, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34839.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35424.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36132.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36929.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37774.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38631.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39467.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40245, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40921.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41448.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41785.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41908, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41823, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41564.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41182.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40721, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40208.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39654.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39055.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38408.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37720.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37009.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36301.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35621.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34989.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34421.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33925.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33503.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33146.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32829.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32659.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32332.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32288, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32304, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32393, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32554.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32774.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33034.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33314.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33601.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33886.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34153.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34376.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34521.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34550, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34434.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34163.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33748.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33214.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32600.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31950.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31318.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30761.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30339.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30094.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30040.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30163.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30426.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30791.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31225.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31703.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32208.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32718.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33213.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33669.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34070, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34411.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34711.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35003.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35327.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35719.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36193, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36744.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37357.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38012.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38694.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39386.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40067.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40705.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41262.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41978.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42085.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42015.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41783.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41410.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40917, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40321.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39641.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38892.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38096.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37277.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36464.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35687.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34971.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34338.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33805.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33380.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33060.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32829.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33132.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33062.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33043.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33057.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33106.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33207.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33381.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33643.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33990, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34404.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34863.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35340.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35819, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36281.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36708.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37068.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37322.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37427.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37353.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37090.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36647.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36056.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35358.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34606.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33859.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33181.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32630, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32247.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32048.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32021.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32136.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32364.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32681.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33070.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33515.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33997.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34489.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34965.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35405.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35810.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36197.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36593.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37025, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37504.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38026.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38576.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39139.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39710.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40292, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40882.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41469, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42026, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42517.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42907.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43168.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43280.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43234.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43026, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42652.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42117.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41430, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40613.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39702.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38737.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37763.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36819.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35940.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35154, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34482.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33944.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33546.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33132.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33997.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33981.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34038.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34149.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34545.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34864.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35793.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36380.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37014.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37666.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38314.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38935.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39502.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39981.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40327.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40496.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40457.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40197.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39727.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39080.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38306, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37463.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36620.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35845.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35197, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34712.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34404.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34260.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34256.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34371.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34590.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35305.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35767.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36261.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36756.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37230.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37684.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38133.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38602.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39108.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39649.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40210.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40770.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41317.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41854.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43495.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44028.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44508.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44900.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45175.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45296.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45106.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44725.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44143.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43367, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42422.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41356.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40226.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39091.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38002.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37001.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36117.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34793.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33997.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35376.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35371.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35468.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35649.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35909.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36258.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36707.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37263.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37917.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38648.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39426, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40220, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 41003, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41748.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42426.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42997.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43416.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43638.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43630.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43378, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42892, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42206.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41374.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40464, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39548.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38701.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37980.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37420, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37029.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36796, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36699.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36724.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36863.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37114.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37469.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37906.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38393.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38894.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39386.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40348.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40852.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41391.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41961.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42542.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43116.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43672.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44218, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44766.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45329.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45901.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46459.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46971.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47402.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47720.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47899.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47915.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47740.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47350, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46727.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45877.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44829.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43637.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42368.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41092.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39870.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38747.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37759.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36930.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36276.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35805.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35511.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35376.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37207.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37542.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38327.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38889.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39563.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40332.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41174.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42057, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42949.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43824, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44650.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45397.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46024.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46488.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46745.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46760.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46520.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46033, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45331.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44471.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43522.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42562.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41665.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40889.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39806.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39497.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39322.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39270.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39337.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39526.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39828.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40225.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40683.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41168.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41655, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42136, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42621.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43128.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43668.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44238.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44826.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46003.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46591.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47193.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47813.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48445.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49065.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49640.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50132.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50508.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50736, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50785.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50625.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50228.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49578.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48681, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47567.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46295.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44935.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43561.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42240.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41023.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39946.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39034.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38304.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37763.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37409.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39531.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39475.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39578.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39829.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40220.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40743.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41391.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42150.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 43000.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43913, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44856.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45799.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46713.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47569.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48336.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48977, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49449.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49713.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49738.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49509.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49032.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48338.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47479.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45550.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44626.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43809.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43133.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42607.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42225.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41975.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41849.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41965.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42202.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42538.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42944.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43387.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43842.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44301, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44767.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45256.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45779, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46337.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46926.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47540, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48173.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48829.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49511.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50218.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50935.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51637.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52288.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52849.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53284, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53557, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53635.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53489.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53092.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52433.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51520.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50387, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49089.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47698.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46287.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44923.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43658.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42530.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41564.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40775.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40173.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39760.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39531.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42140, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42230.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42488.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42904.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43467.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44159.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44961.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45844.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46778, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47730.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48671.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49572.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50405.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51143.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51750.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52193, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52435.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52450.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52225.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51765.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51097.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50268.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49339.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48379.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47453.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46613.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45893.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45306.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44854.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44530.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44251.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44295, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44453.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44710.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45041.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45420, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45823, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46240.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46675.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47137.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47639.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48186.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48783.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49427.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50117, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50850.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51622.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52423.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53231.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54015.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54738.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55360.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55843.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56151.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56252.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56119.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55731.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55084.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54190.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53084, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51819.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50462.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49081.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47739.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46486.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45360, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44383.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43574.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42941.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42491.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45109.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45185.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45432.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45842.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46399.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47084.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47870.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48727.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49624.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50529.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51413.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52249.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53012.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53676.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54591.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54786, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54774.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54547.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54108.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53480.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52703.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51827.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50910.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50009.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49170.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48425.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47793.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47281.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46889, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46615.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46460.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46422.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46493.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46660.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46904.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47204, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47542.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47910.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48308.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48745.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49232.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49779.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50391.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51070.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51815.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52620.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53471.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54351.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55232.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56079.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56854.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57516.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58029.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58358.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58474.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58355.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57990.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57379, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56539.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55506.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54329.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53067.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50525, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49346.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48278.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47345.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46562.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45940.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45488.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48315, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48271.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48489.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48858.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49362.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49981.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50690.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51459.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52259.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53061.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53837.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54562.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55214.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55770.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56207.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56501.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56587.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56355.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55943.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55369, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54662.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53863.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53018.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52171.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51363.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50623.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49971.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49421, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48641.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48415.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48298, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48282.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48359, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48514.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48733.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49005, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49323.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49688.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50107.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50588.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51141.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51772.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52482.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54120.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55019.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55943.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56859.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57733.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59199.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59718.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60052.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60179.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60082.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59756.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59209, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58459.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57542.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56500.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55384.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54245.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53131.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52080.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51123.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50281.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49569.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 48999.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48578.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48315, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51303.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51240.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51410.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51707.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52116.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52622.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53201, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53829.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54481.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55131.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55758, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56850.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57278.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57601.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57803.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57869.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57558.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57181.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56672.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56052.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55351.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54603, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53841.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53097.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52398.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51763.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51207.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50739.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50364.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49905.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49816.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49815.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49893.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50042.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50256.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50531.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50869.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51274.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51753.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52311.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52951.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53674, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54471.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55330.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56231.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57147.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58902.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59670.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60320.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60821.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61149.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61285.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60954.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60498.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59871.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59104.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58235.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57304, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56352.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54532.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53722, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53005.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52396.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51904.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51538.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51303.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53918, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53818.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53824.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53931.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54134.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54423.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54784.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55202.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55657.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56130.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56602.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57055, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57469.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57830.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58122.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58330.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58443.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58449.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58343.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58122.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57790.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57356.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56835.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56248.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55617.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54967.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54321.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53700.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52600.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52147, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51768.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51470.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51253.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51120.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51066.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51091, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51189.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51360.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51602.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51916.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52305.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52772.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53319.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53945.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54645.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55411.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56227.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57075.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57929, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58761.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59543.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60245, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60838.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61299.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61609, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61755.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61732.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61544.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61200.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60720.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60129, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59454.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58729.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57984, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57248.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56546.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55900.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54830, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54121.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53918, 145 + 500);
}
